A supply chain network consists of procuring raw materials from vendors, processing the materials and delivering products to warehouses, retailers, suppliers, and/or customers. Entities within the supply chain network attempt to solve supply chain planning problems according to various objectives. Traditionally, there have been two methods for solving supply chain planning problems. The first method is to decompose the problem into an objective hierarchy and solve the problem using linear programming (LP) for each objective level. However, this method is inadequate because it does not handle discrete constraints, such as, for example, capacity, lot-sizing, setups, and the like. The second method is to use an order-by-order solver, in which each order is processed one after the other based on the orders priority. However, this method is also inadequate because it is sequence based and does not provide for, among other things, global optimization.
In addition, there have been two categories of methods proposed to attempt to resolve the shortcoming in the prior art of not being able to handle discrete constraints. The first method is to formulate the problem as a mixed integer program (MIP). However, this method is inadequate because it falls into the class of problems called NP-hard which means that the solution is not scalable for large datasets and furthermore, the run times for obtaining even a single solution is very high. The second method is to use heuristics to repair the LP solution. However, this method is also inadequate because it uses heuristics and does not account for the functional hierarchy of objectives. That is, this second method uses local cleanup to come up with a solution, usually by rounding up or down the integer values, without violating the constraints. Sometimes this is followed by fixing all the integer variables at its post-heuristic value and re-optimizing the hierarchy of objective functions. This, however, severely limits the ability of re-optimization to achieve global optimization and is also inadequate. Therefore, previous methods of solving supply chain planning problems have proven inadequate.